package com.example.common.base;

import java.util.Date;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Range;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;

import cn.hutool.core.date.DatePattern;
import io.swagger.annotations.ApiModelProperty;

/**
 * 实体公共字段基础类，用于实体JavaBean继承
 * 
 * @author bianj
 * @version 1.0.0 2021-04-23
 */
public abstract class BaseBean extends OverrideBeanMethods {
    private static final long serialVersionUID = 6101499067277733665L;

//    @ApiModelProperty(value = "创建人，保存用户ID值")
//    @TableField(fill = FieldFill.INSERT)
//    private String createdBy;
//
//    @ApiModelProperty(value = "创建日期")
//    @JsonFormat(timezone = "GMT+8", pattern = DatePattern.NORM_DATETIME_PATTERN)
//    @TableField(fill = FieldFill.INSERT)
//    private Date creationDate;
//
//    @ApiModelProperty(value = "最后修改人，保存用户ID值")
//    @TableField(fill = FieldFill.INSERT_UPDATE)
//    private String lastUpdatedBy;
//
//    @ApiModelProperty(value = "最后修改日期")
//    @JsonFormat(timezone = "GMT+8", pattern = DatePattern.NORM_DATETIME_PATTERN)
//    @TableField(fill = FieldFill.INSERT_UPDATE)
//    private Date lastUpdateDate;
//
//    @ApiModelProperty(value = "删除标记，字典数据，例如：0：已删除、1：未删除", example = "1")
//    @NotNull(message = "删除标记不能为空！")
//    @Range(min = 0, max = 1, message = "删除标记必需是{min}或{max}的一位正整数！")
//    @TableLogic
//    private Integer deleteFlag;
//
//    /**
//     * 获取记录创建人，保存用户ID值
//     *
//     * @return 记录创建人
//     */
//    public String getCreatedBy() {
//        return this.createdBy;
//    }
//
//    /**
//     * 设置记录创建人，保存用户ID值
//     *
//     * @param createdBy
//     *            记录创建人，保存用户ID值
//     */
//    public void setCreatedBy(String createdBy) {
//        this.createdBy = createdBy;
//    }
//
//    /**
//     * 获取记录创建日期
//     *
//     * @return 记录创建日期
//     */
//    public Date getCreationDate() {
//        return this.creationDate;
//    }
//
//    /**
//     * 设置记录创建日期
//     *
//     * @param creationDate
//     *            记录创建日期
//     */
//    public void setCreationDate(Date creationDate) {
//        this.creationDate = creationDate;
//    }
//
//    /**
//     * 获取记录最后修改人，保存用户ID值
//     *
//     * @return 记录最后修改人
//     */
//    public String getLastUpdatedBy() {
//        return this.lastUpdatedBy;
//    }
//
//    /**
//     * 设置记录最后修改人，保存用户ID值
//     *
//     * @param lastUpdatedBy
//     *            记录最后修改人，保存用户ID值
//     */
//    public void setLastUpdatedBy(String lastUpdatedBy) {
//        this.lastUpdatedBy = lastUpdatedBy;
//    }
//
//    /**
//     * 获取记录最后修改日期
//     *
//     * @return 记录最后修改日期
//     */
//    public Date getLastUpdateDate() {
//        return this.lastUpdateDate;
//    }
//
//    /**
//     * 设置记录最后修改日期
//     *
//     * @param lastUpdateDate
//     *            记录最后修改日期
//     */
//    public void setLastUpdateDate(Date lastUpdateDate) {
//        this.lastUpdateDate = lastUpdateDate;
//    }
//
//    /**
//    * 获取删除标记，字典数据，例如：0：已删除、1：未删除
//    *
//    * @return 删除标记
//    */
//    public Integer getDeleteFlag() {
//        return this.deleteFlag;
//    }
//
//    /**
//    * 设置删除标记，字典数据，例如：0：已删除、1：未删除
//    *
//    * @param deleteFlag
//    *            删除标记
//    */
//    public void setDeleteFlag(Integer deleteFlag) {
//        this.deleteFlag = deleteFlag;
//    }
}
